ब्यौरा
उपयोगकर्ता स्क्रिप्ट के कॉन्टेक्स्ट में उपयोगकर्ता स्क्रिप्ट को लागू करने के लिए, userScripts
एपीआई का इस्तेमाल करें.
अनुमतियां
userScripts
User Scripts API का इस्तेमाल करने के लिए, chrome.userScripts
अपने manifest.json में "userScripts"
अनुमति जोड़ें. साथ ही, उन साइटों के लिए "host_permissions"
जोड़ें जिन पर आपको स्क्रिप्ट चलानी हैं.
{
"name": "User script test extension",
"manifest_version": 3,
"minimum_chrome_version": "120",
"permissions": [
"userScripts"
],
"host_permissions": [
"*://example.com/*"
]
}
उपलब्धता
कॉन्सेप्ट और इस्तेमाल
उपयोगकर्ता स्क्रिप्ट, कोड का एक स्निपेट होता है. इसे वेब पेज में इंजेक्ट किया जाता है, ताकि उसके दिखने या काम करने के तरीके में बदलाव किया जा सके. कॉन्टेंट स्क्रिप्ट और chrome.scripting
एपीआई जैसी एक्सटेंशन की अन्य सुविधाओं के मुकाबले, User Scripts API की मदद से, अपनी पसंद का कोड चलाया जा सकता है. यह एपीआई उन एक्सटेंशन के लिए ज़रूरी है जो उपयोगकर्ता की दी गई ऐसी स्क्रिप्ट चलाते हैं जिन्हें आपके एक्सटेंशन पैकेज के हिस्से के तौर पर शिप नहीं किया जा सकता.
userScripts API का इस्तेमाल करने की सुविधा चालू करना
आपके एक्सटेंशन को userScripts API का इस्तेमाल करने की अनुमति मिलने के बाद, उपयोगकर्ताओं को एक टॉगल चालू करना होगा, ताकि आपके एक्सटेंशन को एपीआई का इस्तेमाल करने की अनुमति मिल सके. Chrome के वर्शन के हिसाब से, ज़रूरी टॉगल और बंद होने पर एपीआई का व्यवहार अलग-अलग होता है.
नए उपयोगकर्ता को ऑनबोर्ड करने के दौरान, यह तय करने के लिए कि उपयोगकर्ता को कौनसा टॉगल चालू करना है, नीचे दी गई जांच का इस्तेमाल करें:
let version = Number(navigator.userAgent.match(/(Chrome|Chromium)\/([0-9]+)/)?.[2]);
if (version > 138) {
// Allow User Scripts toggle will be used.
} else {
// Developer mode toggle will be used.
}
नीचे दिए गए सेक्शन में, अलग-अलग टॉगल और उन्हें चालू करने के तरीके के बारे में बताया गया है.
Chrome के 138 से पहले के वर्शन (डेवलपर मोड टॉगल)
एक्सटेंशन डेवलपर के तौर पर, आपके Chrome इंस्टॉल में डेवलपर मोड पहले से चालू होता है. आपके उपयोगकर्ताओं को भी डेवलपर मोड चालू करना होगा.
अपने उपयोगकर्ताओं के लिए, एक्सटेंशन के दस्तावेज़ में इन निर्देशों को कॉपी करके चिपकाया जा सकता है
- नए टैब में
chrome://extensions
डालकर, एक्सटेंशन पेज पर जाएं. (डिज़ाइन के हिसाब से,chrome://
यूआरएल लिंक नहीं किए जा सकते.) डेवलपर मोड के बगल में मौजूद टॉगल स्विच पर क्लिक करके, डेवलपर मोड चालू करें.
एक्सटेंशन पेज (chrome://extensions)
Chrome के 138 और उसके बाद के वर्शन (यूज़र स्क्रिप्ट को चालू करने की सुविधा)
उपयोगकर्ता स्क्रिप्ट को अनुमति दें टॉगल, हर एक्सटेंशन की जानकारी वाले पेज पर होता है. उदाहरण के लिए, chrome://extensions/?id=YOUR_EXTENSION_ID.
अपने उपयोगकर्ताओं के लिए, एक्सटेंशन के दस्तावेज़ में नीचे दिए गए निर्देशों को कॉपी करके चिपकाया जा सकता है:
- नए टैब में
chrome://extensions
डालकर, एक्सटेंशन पेज पर जाएं. (डिज़ाइन के हिसाब से,chrome://
यूआरएल लिंक नहीं किए जा सकते.) - एक्सटेंशन के बारे में ज़्यादा जानकारी देखने के लिए, एक्सटेंशन कार्ड पर मौजूद "जानकारी" बटन पर क्लिक करें.
- उपयोगकर्ता स्क्रिप्ट को अनुमति दें के बगल में मौजूद टॉगल स्विच पर क्लिक करें.

एपीआई की उपलब्धता देखना
हमारा सुझाव है कि userScripts API चालू है या नहीं, यह पता करने के लिए नीचे दिया गया तरीका अपनाएं. ऐसा इसलिए, क्योंकि यह Chrome के सभी वर्शन में काम करता है. यह जांच, chrome.userScripts()
तरीके को कॉल करने की कोशिश करती है. एपीआई उपलब्ध होने पर, यह तरीका हमेशा काम करना चाहिए. अगर इस कॉल से कोई गड़बड़ी मिलती है, तो इसका मतलब है कि एपीआई उपलब्ध नहीं है:
function isUserScriptsAvailable() {
try {
// Method call which throws if API permission or toggle is not enabled.
chrome.userScripts.getScripts();
return true;
} catch {
// Not available.
return false;
}
}
अलग-अलग वर्ल्ड में काम करना
उपयोगकर्ता और कॉन्टेंट स्क्रिप्ट, दोनों को अलग-अलग वर्ल्ड या मुख्य वर्ल्ड में चलाया जा सकता है. अलग-थलग वर्ल्ड, एक ऐसा एक्सीक्यूशन एनवायरमेंट है जिसे होस्ट पेज या अन्य एक्सटेंशन ऐक्सेस नहीं कर सकते. इससे उपयोगकर्ता स्क्रिप्ट, होस्ट पेज या अन्य एक्सटेंशन की उपयोगकर्ता और कॉन्टेंट स्क्रिप्ट पर असर डाले बिना, अपना JavaScript एनवायरमेंट बदल सकती है. इसके उलट, होस्ट पेज या दूसरे एक्सटेंशन की उपयोगकर्ता और कॉन्टेंट स्क्रिप्ट, उपयोगकर्ता स्क्रिप्ट (और कॉन्टेंट स्क्रिप्ट) को नहीं दिखती हैं. मुख्य वर्ल्ड में चल रही स्क्रिप्ट, होस्ट पेजों और अन्य एक्सटेंशन के लिए ऐक्सेस की जा सकती हैं. साथ ही, ये होस्ट पेजों और अन्य एक्सटेंशन को दिखती हैं. दुनिया को चुनने के लिए, userScripts.register()
को कॉल करते समय "USER_SCRIPT"
या "MAIN"
पास करें.
USER_SCRIPT
दुनिया के लिए कॉन्टेंट की सुरक्षा के लिए नीति कॉन्फ़िगर करने के लिए, userScripts.configureWorld()
को कॉल करें:
chrome.userScripts.configureWorld({
csp: "script-src 'self'"
});
मैसेज सेवा
कॉन्टेंट स्क्रिप्ट और ऑफ़स्क्रीन दस्तावेज़ों की तरह, उपयोगकर्ता स्क्रिप्ट भी मैसेजिंग का इस्तेमाल करके, एक्सटेंशन के दूसरे हिस्सों से संपर्क करती हैं. इसका मतलब है कि वे runtime.sendMessage()
और runtime.connect()
को उसी तरह कॉल कर सकती हैं जिस तरह एक्सटेंशन का कोई भी दूसरा हिस्सा कर सकता है. हालांकि, इन्हें खास इवेंट हैंडलर का इस्तेमाल करके रिसीव किया जाता है. इसका मतलब है कि ये onMessage
या onConnect
का इस्तेमाल नहीं करते. इन हैंडलर को runtime.onUserScriptMessage
और runtime.onUserScriptConnect
कहा जाता है. खास हैंडलर की मदद से, उपयोगकर्ता स्क्रिप्ट से मिले मैसेज की पहचान करना आसान हो जाता है. ये मैसेज कम भरोसेमंद होते हैं.
मैसेज भेजने से पहले, आपको messaging
आर्ग्युमेंट को true
पर सेट करके, configureWorld()
को कॉल करना होगा. ध्यान दें कि csp
और messaging
, दोनों आर्ग्युमेंट एक साथ पास किए जा सकते हैं.
chrome.userScripts.configureWorld({
messaging: true
});
एक्सटेंशन से जुड़े अपडेट
एक्सटेंशन अपडेट होने पर, उपयोगकर्ता की स्क्रिप्ट मिट जाती हैं. एक्सटेंशन सेवा वर्कर्स में runtime.onInstalled
इवेंट हैंडलर में कोड चलाकर, उन्हें फिर से जोड़ा जा सकता है. इवेंट कॉलबैक में भेजी गई "update"
वजह का ही जवाब दें.
उदाहरण
यह उदाहरण, हमारे सैंपल रिपॉज़िटरी में मौजूद userScript सैंपल से लिया गया है.
स्क्रिप्ट रजिस्टर करना
यहां दिए गए उदाहरण में, register()
को बुलाने का बुनियादी तरीका बताया गया है. पहला आर्ग्युमेंट, रजिस्टर की जाने वाली स्क्रिप्ट की जानकारी देने वाले ऑब्जेक्ट का कलेक्शन होता है. यहां दिखाए गए विकल्पों के अलावा, और भी विकल्प उपलब्ध हैं.
chrome.userScripts.register([{
id: 'test',
matches: ['*://*/*'],
js: [{code: 'alert("Hi!")'}]
}]);
टाइप
ExecutionWorld
उपयोगकर्ता स्क्रिप्ट को चलाने के लिए JavaScript वर्ल्ड.
Enum
"MAIN"
यह DOM के एक्ज़ीक्यूशन एनवायरमेंट के बारे में बताता है. यह एक्ज़ीक्यूशन एनवायरमेंट, होस्ट पेज के JavaScript के साथ शेयर किया जाता है.
"USER_SCRIPT"
यह उपयोगकर्ता स्क्रिप्ट के लिए खास तौर पर, स्क्रिप्ट को चलाने के लिए इस्तेमाल होने वाले एनवायरमेंट के बारे में बताता है. साथ ही, यह पेज के सीएसपी से छूट पाता है.
InjectionResult
प्रॉपर्टी
-
documentId
स्ट्रिंग
इंजेक्शन से जुड़ा दस्तावेज़.
-
गड़बड़ी
स्ट्रिंग ज़रूरी नहीं है
गड़बड़ी की जानकारी, अगर कोई है.
error
औरresult
, एक-दूसरे से अलग होते हैं. -
frameId
संख्या
इंजेक्शन से जुड़ा फ़्रेम.
-
नतीजा
कोई भी ज़रूरी नहीं है
स्क्रिप्ट चलाने का नतीजा.
InjectionTarget
प्रॉपर्टी
-
allFrames
बूलियन ज़रूरी नहीं है
स्क्रिप्ट को टैब के सभी फ़्रेम में इंजेक्ट करना है या नहीं. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होती है. अगर
frameIds
की वैल्यू दी गई है, तो यह शर्त पूरी नहीं होनी चाहिए. -
documentIds
string[] ज़रूरी नहीं
उन खास दस्तावेज़ों के आईडी जिनमें डेटा डालना है. अगर
frameIds
सेट है, तो इसे सेट नहीं किया जाना चाहिए. -
frameIds
number[] ज़रूरी नहीं
उन फ़्रेम के आईडी जिनमें इंजेक्शन करना है.
-
tabId
संख्या
उस टैब का आईडी जिसमें इंजेक्ट करना है.
RegisteredUserScript
प्रॉपर्टी
-
allFrames
बूलियन ज़रूरी नहीं है
अगर यह सही है, तो यह सभी फ़्रेम में इंजेक्ट हो जाएगा. भले ही, फ़्रेम टैब में सबसे ऊपर न हो. हर फ़्रेम की जांच, यूआरएल की ज़रूरी शर्तों के हिसाब से अलग से की जाती है. अगर यूआरएल की ज़रूरी शर्तें पूरी नहीं होती हैं, तो इसे चाइल्ड फ़्रेम में इंजेक्ट नहीं किया जाएगा. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होती है. इसका मतलब है कि सिर्फ़ सबसे ऊपर वाले फ़्रेम की तुलना की जाती है.
-
excludeGlobs
string[] ज़रूरी नहीं
उन पेजों के लिए वाइल्डकार्ड पैटर्न तय करता है जिनमें इस यूज़र स्क्रिप्ट को इंजेक्ट नहीं किया जाएगा.
-
excludeMatches
string[] ज़रूरी नहीं
उन पेजों को बाहर रखता है जिनमें इस उपयोगकर्ता स्क्रिप्ट को इंजेक्ट किया जाना चाहिए. इन स्ट्रिंग के सिंटैक्स के बारे में ज़्यादा जानकारी के लिए, मैच पैटर्न देखें.
-
आईडी
स्ट्रिंग
एपीआई कॉल में बताई गई यूज़र स्क्रिप्ट का आईडी. यह प्रॉपर्टी '_' से शुरू नहीं होनी चाहिए, क्योंकि यह जनरेट किए गए स्क्रिप्ट आईडी के प्रीफ़िक्स के तौर पर रिज़र्व है.
-
includeGlobs
string[] ज़रूरी नहीं
उन पेजों के लिए वाइल्डकार्ड पैटर्न तय करता है जिनमें इस उपयोगकर्ता स्क्रिप्ट को इंजेक्ट किया जाएगा.
-
js
ScriptSource[] ज़रूरी नहीं है
ScriptSource ऑब्जेक्ट की सूची, जो मैच करने वाले पेजों में इंजेक्ट की जाने वाली स्क्रिप्ट के सोर्स की जानकारी देती है. ${ref:register} के लिए, इस प्रॉपर्टी की वैल्यू देना ज़रूरी है. साथ ही, यह भी ज़रूरी है कि वैल्यू के तौर पर कोई खाली कलेक्शन न दिया गया हो.
-
मैच
string[] ज़रूरी नहीं
इससे पता चलता है कि इस उपयोगकर्ता स्क्रिप्ट को किन पेजों में इंजेक्ट किया जाएगा. इन स्ट्रिंग के सिंटैक्स के बारे में ज़्यादा जानकारी के लिए, मैच पैटर्न देखें. ${ref:register} के लिए, इस प्रॉपर्टी की वैल्यू देना ज़रूरी है.
-
runAt
RunAt ज़रूरी नहीं है
इससे पता चलता है कि वेब पेज में JavaScript फ़ाइलें कब इंजेक्ट की जाती हैं. पसंदीदा और डिफ़ॉल्ट वैल्यू
document_idle
है. -
दुनिया
ExecutionWorld ज़रूरी नहीं है
स्क्रिप्ट को चलाने के लिए, JavaScript का एक्ज़ीक्यूशन एनवायरमेंट. डिफ़ॉल्ट रूप से, यह
`USER_SCRIPT`
पर सेट होता है. -
worldId
स्ट्रिंग ज़रूरी नहीं है
Chrome 133 और उसके बाद के वर्शनयह उस उपयोगकर्ता स्क्रिप्ट वर्ल्ड आईडी की जानकारी देता है जिसमें इसे चलाना है. अगर इसे शामिल नहीं किया जाता है, तो स्क्रिप्ट डिफ़ॉल्ट उपयोगकर्ता स्क्रिप्ट वर्ल्ड में चलेगी. यह वैल्यू सिर्फ़ तब मान्य होती है, जब
world
को शामिल न किया गया हो या वहUSER_SCRIPT
हो. शुरुआत में अंडरस्कोर (_
) वाली वैल्यू इस्तेमाल नहीं की जा सकतीं.
ScriptSource
प्रॉपर्टी
-
कोड
स्ट्रिंग ज़रूरी नहीं है
इंजेक्ट करने के लिए JavaScript कोड वाली स्ट्रिंग.
file
याcode
में से किसी एक की जानकारी देना ज़रूरी है. -
फ़ाइल
स्ट्रिंग ज़रूरी नहीं है
एक्सटेंशन की रूट डायरेक्ट्री के हिसाब से, इंजेक्ट की जाने वाली JavaScript फ़ाइल का पाथ.
file
याcode
में से किसी एक की जानकारी देना ज़रूरी है.
UserScriptFilter
प्रॉपर्टी
-
आईडी
string[] ज़रूरी नहीं
getScripts
सिर्फ़ इस सूची में दिए गए आईडी वाली स्क्रिप्ट दिखाता है.
UserScriptInjection
प्रॉपर्टी
-
injectImmediately
बूलियन ज़रूरी नहीं है
क्या इंजेक्शन को टारगेट में जल्द से जल्द ट्रिगर किया जाना चाहिए. ध्यान दें कि इससे इस बात की गारंटी नहीं मिलती कि इंजेक्शन, पेज लोड होने से पहले होगा. ऐसा इसलिए, क्योंकि हो सकता है कि स्क्रिप्ट टारगेट तक पहुंचने से पहले ही पेज लोड हो जाए.
-
js
ScriptSource ऑब्जेक्ट की सूची, जो टारगेट में इंजेक्ट की जाने वाली स्क्रिप्ट के सोर्स तय करती है.
-
टारगेट
उस टारगेट की जानकारी जिसमें स्क्रिप्ट को इंजेक्ट करना है.
-
दुनिया
ExecutionWorld ज़रूरी नहीं है
स्क्रिप्ट को चलाने के लिए JavaScript "वर्ल्ड". डिफ़ॉल्ट रूप से, यह
USER_SCRIPT
पर सेट होता है. -
worldId
स्ट्रिंग ज़रूरी नहीं है
यह उस उपयोगकर्ता स्क्रिप्ट वर्ल्ड आईडी की जानकारी देता है जिसमें इसे चलाना है. अगर इसे शामिल नहीं किया जाता है, तो स्क्रिप्ट डिफ़ॉल्ट उपयोगकर्ता स्क्रिप्ट वर्ल्ड में चलेगी. यह वैल्यू सिर्फ़ तब मान्य होती है, जब
world
को शामिल न किया गया हो या वहUSER_SCRIPT
हो. शुरुआत में अंडरस्कोर (_
) वाली वैल्यू इस्तेमाल नहीं की जा सकतीं.
WorldProperties
प्रॉपर्टी
-
csp
स्ट्रिंग ज़रूरी नहीं है
दुनिया के सीएसपी के बारे में बताता है. डिफ़ॉल्ट रूप से,
`ISOLATED`
world csp सेट होता है. -
मैसेज सेवा
बूलियन ज़रूरी नहीं है
इससे यह पता चलता है कि मैसेजिंग एपीआई एक्सपोज़र हैं या नहीं. डिफ़ॉल्ट रूप से, यह
false
पर सेट होता है. -
worldId
स्ट्रिंग ज़रूरी नहीं है
Chrome 133 और उसके बाद के वर्शनअपडेट करने के लिए, उपयोगकर्ता स्क्रिप्ट की उस वर्ल्ड का आईडी बताता है. अगर यह पैरामीटर नहीं दिया जाता है, तो डिफ़ॉल्ट उपयोगकर्ता स्क्रिप्ट वर्ल्ड की प्रॉपर्टी अपडेट हो जाती हैं. शुरुआत में अंडरस्कोर (
_
) वाली वैल्यू इस्तेमाल नहीं की जा सकतीं.
तरीके
configureWorld()
chrome.userScripts.configureWorld(
properties: WorldProperties,
callback?: function,
)
`USER_SCRIPT`
के एक्ज़ीक्यूशन एनवायरमेंट को कॉन्फ़िगर करता है.
पैरामीटर
-
प्रॉपर्टी
इसमें उपयोगकर्ता स्क्रिप्ट का वर्ल्ड कॉन्फ़िगरेशन होता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
मेनिफ़ेस्ट के V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
execute()
chrome.userScripts.execute(
injection: UserScriptInjection,
callback?: function,
)
टारगेट किए गए कॉन्टेक्स्ट में स्क्रिप्ट इंजेक्ट करता है. डिफ़ॉल्ट रूप से, स्क्रिप्ट document_idle
पर या पेज के पहले से लोड होने पर तुरंत चलेगी. अगर injectImmediately
प्रॉपर्टी सेट है, तो पेज लोड होने का इंतज़ार किए बिना स्क्रिप्ट इंजेक्ट हो जाएगी. अगर स्क्रिप्ट का आकलन किसी प्रॉमिस के तौर पर किया जाता है, तो ब्राउज़र प्रॉमिस के सेटल होने का इंतज़ार करेगा और नतीजे वाली वैल्यू दिखाएगा.
पैरामीटर
-
इंजेक्शन
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(result: InjectionResult[]) => void
-
नतीजा
-
रिटर्न
-
Promise<InjectionResult[]>
मेनिफ़ेस्ट के V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
getScripts()
chrome.userScripts.getScripts(
filter?: UserScriptFilter,
callback?: function,
)
इस एक्सटेंशन के लिए, डाइनैमिक तौर पर रजिस्टर की गई सभी उपयोगकर्ता स्क्रिप्ट दिखाता है.
पैरामीटर
-
फ़िल्टर करें
UserScriptFilter ज़रूरी नहीं है
अगर कोई वैल्यू दी जाती है, तो यह तरीका सिर्फ़ उससे मैच होने वाली उपयोगकर्ता स्क्रिप्ट दिखाता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(scripts: RegisteredUserScript[]) => void
-
स्क्रिप्ट
-
रिटर्न
-
Promise<RegisteredUserScript[]>
मेनिफ़ेस्ट के V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
getWorldConfigurations()
chrome.userScripts.getWorldConfigurations(
callback?: function,
)
दुनिया भर के सभी रजिस्टर किए गए कॉन्फ़िगरेशन को वापस लाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(worlds: WorldProperties[]) => void
-
दुनिया
-
रिटर्न
-
Promise<WorldProperties[]>
मेनिफ़ेस्ट के V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
register()
chrome.userScripts.register(
scripts: RegisteredUserScript[],
callback?: function,
)
इस एक्सटेंशन के लिए, एक या उससे ज़्यादा उपयोगकर्ता स्क्रिप्ट रजिस्टर करता है.
पैरामीटर
-
स्क्रिप्ट
इसमें रजिस्टर की जाने वाली उपयोगकर्ता स्क्रिप्ट की सूची होती है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
मेनिफ़ेस्ट के V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
resetWorldConfiguration()
chrome.userScripts.resetWorldConfiguration(
worldId?: string,
callback?: function,
)
उपयोगकर्ता स्क्रिप्ट की दुनिया के लिए कॉन्फ़िगरेशन को रीसेट करता है. तय किए गए आईडी के साथ दुनिया में इंजेक्ट की जाने वाली सभी स्क्रिप्ट, दुनिया के डिफ़ॉल्ट कॉन्फ़िगरेशन का इस्तेमाल करेंगी.
पैरामीटर
-
worldId
स्ट्रिंग ज़रूरी नहीं है
रीसेट की जाने वाली उपयोगकर्ता स्क्रिप्ट वर्ल्ड का आईडी. अगर यह पैरामीटर नहीं दिया जाता है, तो डिफ़ॉल्ट दुनिया का कॉन्फ़िगरेशन रीसेट हो जाता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
मेनिफ़ेस्ट के V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
unregister()
chrome.userScripts.unregister(
filter?: UserScriptFilter,
callback?: function,
)
इस एक्सटेंशन के लिए, डाइनैमिक तौर पर रजिस्टर की गई सभी उपयोगकर्ता स्क्रिप्ट को अनरजिस्टर करता है.
पैरामीटर
-
फ़िल्टर करें
UserScriptFilter ज़रूरी नहीं है
अगर कोई पैटर्न तय किया गया है, तो यह तरीका सिर्फ़ उससे मैच होने वाली उपयोगकर्ता स्क्रिप्ट को अनरजिस्टर करता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
मेनिफ़ेस्ट के V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
update()
chrome.userScripts.update(
scripts: RegisteredUserScript[],
callback?: function,
)
इस एक्सटेंशन के लिए, एक या उससे ज़्यादा उपयोगकर्ता स्क्रिप्ट अपडेट करता है.
पैरामीटर
-
स्क्रिप्ट
इसमें उन उपयोगकर्ता स्क्रिप्ट की सूची होती है जिन्हें अपडेट करना है. किसी मौजूदा स्क्रिप्ट के लिए प्रॉपर्टी सिर्फ़ तब अपडेट की जाती है, जब इस ऑब्जेक्ट में उसकी जानकारी दी गई हो. अगर स्क्रिप्ट को पार्स करने/फ़ाइल की पुष्टि करने के दौरान गड़बड़ियां होती हैं या दिए गए आईडी, पूरी तरह से रजिस्टर की गई स्क्रिप्ट से मेल नहीं खाते हैं, तो कोई भी स्क्रिप्ट अपडेट नहीं की जाती.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
मेनिफ़ेस्ट के V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.